﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microhard.Core.DBUtility;
using AutoMapper;
using Micrhard.FMCG.Server.Models;
using Micrhard.FMCG.Server.DataAccess;

namespace Micrhard.FMCG.Server.DTO
{
    public class FMCGServerMapBuilder : IDTOBuilder
    {
        public void MappingBuild()
        {
            #region Company
            Mapper.CreateMap<CompanyModel, Company>();
            Mapper.CreateMap<Company, CompanyModel>();
            #endregion

            #region Employee
            Mapper.CreateMap<EmployeeModel, Employee>();
            Mapper.CreateMap<Employee, EmployeeModel>();
            #endregion

            #region KA
            Mapper.CreateMap<KAModel, KA>();
            Mapper.CreateMap<KA, KAModel>();
            #endregion

            #region Product
            Mapper.CreateMap<ProductModel, Product>();
            Mapper.CreateMap<Product, ProductModel>();
            #endregion

            #region SubKA
            Mapper.CreateMap<SubKAModel, SubKA>();
            Mapper.CreateMap<SubKA, SubKAModel>();
            #endregion

            #region PrdMapping
            Mapper.CreateMap<PrductMappingKAPrdModel, ProductSaleMapping>();
            Mapper.CreateMap<ProductSaleMapping, PrductMappingKAPrdModel>();
            #endregion


            #region Daily
            Mapper.CreateMap<DailyModel, Daily>();
            Mapper.CreateMap<Daily, DailyModel>();
            #endregion

            #region Notice
            Mapper.CreateMap<NoticeModel, Notice>();
            Mapper.CreateMap<Notice, NoticeModel>();
            #endregion

            #region ProductDisplayImage
            Mapper.CreateMap<ProductDisplayImageModel, ProductDisplayImage>();
            Mapper.CreateMap<ProductDisplayImage, ProductDisplayImageModel>();
            #endregion

            #region CheckIn
            Mapper.CreateMap<CheckinModel, EmployeeCheckIn>();
            Mapper.CreateMap<EmployeeCheckIn, CheckinModel>();
            #endregion

            #region ProtalSubKAPlan
            Mapper.CreateMap<ProtalSubKAPlanModel, ProtalSubKAPlan>();
            Mapper.CreateMap<ProtalSubKAPlan, ProtalSubKAPlanModel>();
            #endregion

            #region IspTemplate
            Mapper.CreateMap<IspTemplateModel, CheckListTemplate>();
            Mapper.CreateMap<CheckListTemplate, IspTemplateModel>();
            #endregion

            #region IspCategory
            Mapper.CreateMap<IspCategoryModel, CheckListTemplateCategory>();
            Mapper.CreateMap<CheckListTemplateCategory, IspCategoryModel>();
            #endregion

            #region IspItem
            Mapper.CreateMap<IspItemModel, CheckListTemplateItem>();
            Mapper.CreateMap<CheckListTemplateItem, IspItemModel>();
            #endregion

            #region IspTemplateAnswer
            Mapper.CreateMap<IspTemplateAnswerModel, CheckListTemplateAnswer>();
            Mapper.CreateMap<CheckListTemplateAnswer, IspTemplateAnswerModel>();
            #endregion

            #region Order
            Mapper.CreateMap<OrderModel, Order>();
            Mapper.CreateMap<Order, OrderModel>();
            #endregion

            #region OrderDetail
            Mapper.CreateMap<OrderDetailModelInServer, OrderDetail>();
            Mapper.CreateMap<OrderDetail, OrderDetailModelInServer>();
            #endregion

            #region News
            Mapper.CreateMap<NewsModel, News>();
            Mapper.CreateMap<News, NewsModel>();
            #endregion

            #region Statement
            Mapper.CreateMap<StatementModelInServer, SaleStatement>();
            Mapper.CreateMap<SaleStatement, StatementModelInServer>();
            #endregion

            #region ProductSaledOfDay
            Mapper.CreateMap<ProductSaledOfDayModel, ProductSaledOfDay>();
            Mapper.CreateMap<ProductSaledOfDay, ProductSaledOfDayModel>();
            #endregion

            #region SaleLead
            Mapper.CreateMap<SaleLeadModel, SaleLead>();
            Mapper.CreateMap<SaleLead, SaleLeadModel>();
            #endregion

            #region Customer
            Mapper.CreateMap<CustomerModel, Customer>();
            Mapper.CreateMap<Customer, CustomerModel>();
            #endregion

            #region FakeCode
            Mapper.CreateMap<FakeCodeModel, FakeCode>();
            Mapper.CreateMap<FakeCode, FakeCodeModel>();
            #endregion

            #region OrderWorkSheet
            Mapper.CreateMap<OrderWorkSheetModel, OrderWorkSheet>();
            Mapper.CreateMap<OrderWorkSheet, OrderWorkSheetModel>();
            #endregion

            #region CustomerCoin
            Mapper.CreateMap<CustomerCoinModel, CustomerCoin>();
            Mapper.CreateMap<CustomerCoin, CustomerCoinModel>();
            #endregion

            #region CoinCusumeOrder
            Mapper.CreateMap<CoinCusumeOrderModel, CustomerCoinOrder>();
            Mapper.CreateMap<CustomerCoinOrder, CoinCusumeOrderModel>();
            #endregion

        }
    }
}
